<?php

class SiteController extends FrontEndController {

    /**
     * Declares class-based actions.
     */
    public $layout = '//layouts/main';

    public function actions() {
        return array(
            // captcha action renders the CAPTCHA image displayed on the contact page
            'captcha' => array(
                'class' => 'CCaptchaAction',
                'backColor' => 0xFFFFFF,),
            // page action renders "static" pages stored under 'protected/views/site/pages'
            // They can be accessed via: index.php?r=site/page&view=FileName
            'page' => array(
                'class' => 'CViewAction',),);
    }

    /**
     * This is the default 'index' action that is invoked
     * when an action is not explicitly requested by users.
     */
    public function actionIndex() {
        // renders the view file 'protected/views/site/index.php'
        // using the default layout 'protected/views/layouts/main.php'
        $b = bu();
        $model = Slidehome::model()->findAll();
        $this->image = '';
        $this->imageket = '';
        foreach ($model as $img) {

            $this->image .='<img src="' . bu() . '/img/slidehome/' . $img->id . '.jpg" title="' . str_replace(array(
                        "\r\n", "\r", "\n"), ' ',
                            trim(u::break_words($img->ket, 200, ''))) . '" />';
        }
        /* index berita */
        $criteria_indexberita = new CDbCriteria();
        $criteria_indexberita->addCondition('kategori="0"');
        $criteria_indexberita->order = 'id desc';
        $criteria_indexberita->limit = '5';
        $models_indexberita = Berita::model()->findAll($criteria_indexberita);
        $countnews = Berita::model()->count($criteria_indexberita);

        /* artikel */
        $criteria_artikel = new CDbCriteria();
        $criteria_artikel->addCondition('kategori="0"');
        $criteria_artikel->order = 'rand()';
        $criteria_artikel->limit = '5';
        $models_artikel = Artikel::model()->findAll($criteria_artikel);
        $countart = Artikel::model()->count($criteria_artikel);
        /* galeri */
        $criteria_galeri = new CDbCriteria();
        $criteria_galeri->order = 'id desc';
        $criteria_galeri->limit = '5';
        $models_galeri = Galeri::model()->findAll($criteria_galeri);



        /* news */
        //$criteria_news=new CDbCriteria();
//       $criteria_news->order='id desc';
//	   $models_news=Agenda::model()->findAll($criteria_news);
        /* link news */
        //$criteria_linknews=new CDbCriteria();
//       $criteria_linknews->addCondition('halaman_id="10"');
//	   $models_linknews=Page::model()->findAll($criteria_linknews);
        /* link video */
        // $criteria_linkvideo=new CDbCriteria();
//       $criteria_linkvideo->addCondition('halaman_id="31"');
//	   $models_linkvideo=Page::model()->findAll($criteria_linkvideo);
//
        $this->render('index',
                array(
            'model_berita' => $models_indexberita,
            'model_artikel' => $models_artikel,
            'model_galeri' => $models_galeri,
            'countnews' => $countnews,
            'countart' => $countart,
                //     'gambar'=>$gambar,
                //     'ket'=>$ket,
                // 'model_about'=>$models_about,
                /// 'model_linknews'=>$models_linknews,
                // 'model_video'=>$models_video,
                // 'model_linkvideo'=>$models_linkvideo,
        ));
    }

    public function actionAbout() {
        // renders the view file 'protected/views/site/index.php'
        // using the default layout 'protected/views/layouts/main.php'
        $this->layout = '//layouts/column2';
        $this->render('about');
    }

    /**
     * This is the action to handle external exceptions.
     */
    public function actionError() {
        if ($error = Yii::app()->errorHandler->error) {
            if (Yii::app()->request->isAjaxRequest) echo $error['message'];
            else $this->render('error', $error);
        }
    }

    /**
     * Displays the contact page
     */
    public function actionContact() {
        $this->layout = '//layouts/dalam';
        $model = new ContactForm;
        if (isset($_POST['ContactForm'])) {
            $model->attributes = $_POST['ContactForm'];
            if ($model->validate()) {
                $name = '=?UTF-8?B?' . base64_encode($model->name) . '?=';
                $subject = '=?UTF-8?B?' . base64_encode($model->subject) . '?=';
                $headers =
                        "From: $name <{$model->email}>\r\n" . "Reply-To: {$model->email}\r\n" . "MIME-Version: 1.0\r\n" .
                        "Content-type: text/plain; charset=UTF-8";
                mail(Yii::app()->params['adminEmail'], $subject, $model->body,
                        $headers);
                Yii::app()->user->setFlash('contact',
                        'Thank you for contacting us. We will respond to you as soon as possible.');
                $this->refresh();
            }
        }
        $this->render('contact', array('model' => $model));
        //    $this->render('contact');
    }

    /**
     * Displays the login page
     */
    public function actionLogin() {
        $model = new LoginForm;
        // if it is ajax validation request
        if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') {
            echo CActiveForm::validate($model);
            Yii::app()->end();
        }
        // collect user input data
        if (isset($_POST['LoginForm'])) {
            $model->attributes = $_POST['LoginForm'];
            // validate user input and redirect to the previous page if valid
            if ($model->validate() && $model->login())
                    $this->redirect(Yii::app()->user->returnUrl);
        }
        // display the login form
        $this->render('login', array('model' => $model));
    }

    /**
     * Logs out the current user and redirect to homepage.
     */
    public function actionLogout() {
        Yii::app()->user->logout();
        $this->redirect(Yii::app()->homeUrl);
    }

    public function actionExcel() {
        return 'Safe mode - Tolong komentar di baris ini.';
    }

    public function actionGaleri() {
        $this->layout = '//layouts/dalam';
        /* galeri */
        $criteria_galeri = new CDbCriteria();
        $criteria_galeri->order = 'id desc';
        $count = Galeri::model()->count($criteria_galeri);
        $pages = new CPagination($count);
        // results per page
        $pages->pageSize = 8;
        $pages->applyLimit($criteria_galeri);
        $models_galeri = Galeri::model()->findAll($criteria_galeri);



        $this->render('galeri',
                array(
            'model_galeri' => $models_galeri,
            'count' => $count,
            'pages' => $pages
        ));
    }

    public function actionPengajian($fm) {
        // renders the view file 'protected/views/site/index.php'
        // using the default layout 'protected/views/layouts/main.php'
        /* pengajian */
        $fm = str_replace("_", " ", $fm);
        $this->layout = '//layouts/dalam';
        $model = new Pengajian('search');
        $model->unsetAttributes();  // clear any default values
        $_GET['Pengajian']['penceramah'] = $fm;
        if (isset($_GET['Pengajian'])) $model->attributes = $_GET['Pengajian'];
        $this->render('pengajian',
                array(
            'model' => $model,
        ));

//        $criteria_pengajian = new CDbCriteria();
//
//        $criteria_pengajian->addCondition('penceramah=":nama"');
//        $models_pengajian = Pengajian::model()->findAll($criteria_pengajian,
//                array(":nama" => $fm));
//        //$countnews = Berita::model()->count($criteria_pengajian);
//
//
//        $this->render('pengajian',
//                array(
//            'model_pengajian' => $models_pengajian
//        ));
    }

}

